home *** CD-ROM | disk | FTP | other *** search
/ AmigActive 10 / AACD 10.iso / AACD / Games / WarpQuake / Src / asm_draw.h < prev    next >
Text File  |  2000-05-22  |  4KB  |  152 lines

  1. /*
  2. Copyright (C) 1996-1997 Id Software, Inc.
  3.  
  4. This program is free software; you can redistribute it and/or
  5. modify it under the terms of the GNU General Public License
  6. as published by the Free Software Foundation; either version 2
  7. of the License, or (at your option) any later version.
  8.  
  9. This program is distributed in the hope that it will be useful,
  10. but WITHOUT ANY WARRANTY; without even the implied warranty of
  11. MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  
  12.  
  13. See the GNU General Public License for more details.
  14.  
  15. You should have received a copy of the GNU General Public License
  16. along with this program; if not, write to the Free Software
  17. Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
  18.  
  19. */
  20. //
  21. // asm_draw.h
  22. //
  23. // Include file for asm drawing routines.
  24. //
  25.  
  26. //
  27. // !!! note that this file must match the corresponding C structures at all
  28. // times !!!
  29. //
  30.  
  31. // !!! if this is changed, it must be changed in r_local.h too !!!
  32. #define    NEAR_CLIP    0.01
  33.  
  34. // !!! if this is changed, it must be changed in r_local.h too !!!
  35. #define    CYCLE    128
  36.  
  37. // espan_t structure
  38. // !!! if this is changed, it must be changed in r_shared.h too !!!
  39. #define espan_t_u        0
  40. #define espan_t_v        4
  41. #define espan_t_count   8
  42. #define espan_t_pnext    12
  43. #define espan_t_size    16
  44.  
  45. // sspan_t structure
  46. // !!! if this is changed, it must be changed in d_local.h too !!!
  47. #define sspan_t_u        0
  48. #define sspan_t_v        4
  49. #define sspan_t_count   8
  50. #define sspan_t_size    12
  51.  
  52. // spanpackage_t structure
  53. // !!! if this is changed, it must be changed in d_polyset.c too !!!
  54. #define spanpackage_t_pdest                0
  55. #define spanpackage_t_pz                4
  56. #define spanpackage_t_count                8
  57. #define spanpackage_t_ptex                12
  58. #define spanpackage_t_sfrac                16
  59. #define spanpackage_t_tfrac                20
  60. #define spanpackage_t_light                24
  61. #define spanpackage_t_zi                28
  62. #define spanpackage_t_size                32 
  63.  
  64. // edge_t structure
  65. // !!! if this is changed, it must be changed in r_shared.h too !!!
  66. #define et_u            0
  67. #define et_u_step        4
  68. #define et_prev            8
  69. #define et_next            12
  70. #define et_surfs        16
  71. #define et_nextremove    20
  72. #define et_nearzi        24
  73. #define et_owner        28
  74. #define et_size            32
  75.  
  76. // surf_t structure
  77. // !!! if this is changed, it must be changed in r_shared.h too !!!
  78. #define SURF_T_SHIFT    6
  79. #define st_next            0
  80. #define st_prev            4
  81. #define st_spans        8
  82. #define st_key            12
  83. #define st_last_u        16
  84. #define st_spanstate    20
  85. #define st_flags        24
  86. #define st_data            28
  87. #define st_entity        32
  88. #define st_nearzi        36
  89. #define st_insubmodel    40
  90. #define st_d_ziorigin    44
  91. #define st_d_zistepu    48
  92. #define st_d_zistepv    52
  93. #define st_pad            56
  94. #define st_size            64
  95.  
  96. // clipplane_t structure
  97. // !!! if this is changed, it must be changed in r_local.h too !!!
  98. #define cp_normal        0
  99. #define cp_dist            12
  100. #define cp_next            16
  101. #define cp_leftedge        20
  102. #define cp_rightedge    21
  103. #define cp_reserved        22
  104. #define cp_size            24
  105.  
  106. // medge_t structure
  107. // !!! if this is changed, it must be changed in model.h too !!!
  108. #define me_v                0
  109. #define me_cachededgeoffset    4
  110. #define me_size                8
  111.  
  112. // mvertex_t structure
  113. // !!! if this is changed, it must be changed in model.h too !!!
  114. #define mv_position        0
  115. #define mv_size            12
  116.  
  117. // refdef_t structure
  118. // !!! if this is changed, it must be changed in render.h too !!!
  119. #define rd_vrect                    0
  120. #define rd_aliasvrect                20
  121. #define rd_vrectright                40
  122. #define rd_vrectbottom                44
  123. #define rd_aliasvrectright            48
  124. #define rd_aliasvrectbottom            52
  125. #define rd_vrectrightedge            56
  126. #define rd_fvrectx                    60
  127. #define rd_fvrecty                    64
  128. #define rd_fvrectx_adj                68
  129. #define rd_fvrecty_adj                72
  130. #define rd_vrect_x_adj_shift20        76
  131. #define rd_vrectright_adj_shift20    80
  132. #define rd_fvrectright_adj            84
  133. #define rd_fvrectbottom_adj            88
  134. #define rd_fvrectright                92
  135. #define rd_fvrectbottom                96
  136. #define rd_horizontalFieldOfView    100
  137. #define rd_xOrigin                    104
  138. #define rd_yOrigin                    108
  139. #define rd_vieworg                    112
  140. #define rd_viewangles                124
  141. #define rd_ambientlight                136
  142. #define rd_size                        140
  143.  
  144. // mtriangle_t structure
  145. // !!! if this is changed, it must be changed in model.h too !!!
  146. #define mtri_facesfront        0
  147. #define mtri_vertindex        4
  148. #define mtri_size            16    // !!! if this changes, array indexing in !!!
  149.                                 // !!! d_polysa.s must be changed to match !!!
  150. #define mtri_shift            4
  151.  
  152.